<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    /* 
    闭包:
    闭: 关闭 封闭的意思 不让外界访问
    包: 包裹

    作用域链: 内部作用域可以访问外部作用域,反之 外部作用域不能访问内部作用域
    如果外部作用域 希望可以访问到 内部作用域的数据

    方法一:通过return 返回 内部作用域(函数作用域) 的数据
    方法二:闭包
    */
    function sum() {
        var s = 10+20;
        return s;
    }
    var num = sum();
    console.log(num);
    

    //题目一
    /*
    var a = new Object();
    var b = new Object();
    console.log(a==b);//false
    */
    console.log({}=={}); //false

    function fn() {
        return {};
    }
    var a = fn();
    var b = fn();

    console.log(a==b); //false

    function fun() {
        var demo = {};
        function foo() {
            //这个方法 会访问 外部作用域 的 demo变量
            return demo;
        }
        return foo;
    }
    var fn1 = fun();

    var demo1 = fn1();
    var demo2 = fn1();

    console.log(demo1 == demo2); //true
    
    
    
    </script>
</body>
</html>